import java.util.Random;
import java.util.Scanner;

public class test {
    public static void main1(String[] args) {
        System.out.println("aaa");
        System.out.println("bbb");
        System.out.println("ccc");  // 顺序结构
    }

    public static void main2(String[] args) {
        int a = 80;
        if (a >= 90) {
            System.out.println("奖励一个大鸡腿");
        }  // 一定要有这个花括号
        else {
            System.out.println("吃我一拳");
        }
    }

    public static void main3(String[] args) {
        // 输入数的工具
        Scanner scanner = new Scanner(System.in);
        int grade = scanner.nextInt();

        if (grade >= 90) {
            System.out.println("优秀");
        } else if (grade >= 80 && grade < 90) {
            System.out.println("良好");
        } else if (grade >= 70 && grade < 80) {
            System.out.println("中等");
        } else if (grade >= 60 && grade < 70) {
            System.out.println("及格");
        } else if (grade < 60 && grade >= 0) {
            System.out.println("不及格");
        } else {
            System.out.println("输入不合法");
        }
    }

    //判断一个数字是奇数还是偶数
    public static void main4(String[] args) {
        int num = 10;
        if (num % 2 == 0) {
            System.out.println("num是偶数");
        } else {
            System.out.println("num不是偶数");
        }
    }
    //判断一个数字是正数还是负数，还是零

    public static void main5(String[] args) {
        int num = 10;
        if (num < 0) {
            System.out.println("num是负数");
        } else if (num > 0) {
            System.out.println("num是正数");
        } else {
            System.out.println("num是0");
        }
    }

    //判断一个年份是是否为闰年，关键是知道闰年的定义
    public static void main6(String[] args) {
        int year = 1300;
        //这里是不是可以直接用一个就行了 year%400 取余
        if (year % 100 == 0) {
            if (year % 400 == 0) {
                System.out.println("是闰年");
            } else {
                System.out.println("不是闰年");
            }
        } else {
            if (year % 4 == 0) {
                System.out.println("是闰年");
            } else {
                System.out.println("不是闰年");
            }
        }
    }

    public static void main7(String[] args) {
        int a = 1;
        switch (a) {
            case 2:
                System.out.println(2);
                break;
            case 1:
                System.out.println(1);  // 匹配之后，一直需要遇到break才会停止
            default:
                System.out.println("输入有误！");
                break;
        }
    }

    public static void main8(String[] args) {
        //循环打印1-10的整数
        int num = 1;
        while (num <= 10) {
            System.out.println(num);
            num += 1;
        }
    }

    public static void main9(String[] args) {
        //计算1-100的和
        int n = 1;
        int sum = 0;
        while (n <= 100) {
            sum += n;
            n += 1;
        }
        System.out.println(sum);
    }

    public static void main10(String[] args) {
        // 找出1-100之间既能被3整除 又能被5整除的数  用的是continue
        int num = 1;
        while (num <= 100) {
            if (num % 3 != 0 || num % 5 != 0) {
                num++;
                continue;
            }
            System.out.println("三的倍数和五的倍数是:" + num);
            num++;
        }
    }

    public static void main11(String[] args) {
        // fori快捷键
        for (int p = 0; p < 10; p++) {
            System.out.println(p);
        }
    }

    public static void main12(String[] args) {
        // 通过for循环去求 阶乘的和
        int sum = 0;
        for (int i = 1; i < 6; i++) {
            int tmp = 1;
            for (int j = 1; j <= i; j++) {
                tmp = tmp * j;
            }
            sum = sum + tmp;
        }
        System.out.println(sum);
    }

    public static void main13(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你的姓名：");
        String name = scanner.nextLine();  //对于next来说 遇到空格就结束了  wuhan  和 wu han的区别
        System.out.println(name);
    }

    public static void main14(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的姓名：");
        String name = sc.nextLine();

        System.out.println("请输入您的年龄：");
        int age = sc.nextInt();

        System.out.println("请输入您的工资：");
        double salary = sc.nextDouble();

        System.out.println("您的信息如下：");
        System.out.println("姓名" + name + "\n" + "年龄" + age + "\n" + "工资" + salary);
        sc.close();
    }

    public static void main15(String[] args) {
        // 使用Scanner 循环读取N个数字，并求取其平均值。 注意停止输入的 ctrl+d
        Scanner sc = new Scanner(System.in);
        int sum = 0;
        int num = 0;
        while (sc.hasNext()) {
            int tmp = sc.nextInt();
            sum += tmp;
            num++;
        }
        System.out.println("sum=" + sum);
        System.out.println("avg=" + sum / num);
        sc.close();
    }

    public static void main16(String[] args) {
        // 猜数字游戏
        Random random = new Random();
        Scanner sc = new Scanner(System.in);
        int toGuess = random.nextInt(100); // 范围是[0,100)
        System.out.println("随机数是：" + toGuess);
        while (true) {
            System.out.println("请输入你要猜的数字");
            int num = sc.nextInt();
            if (num > toGuess) {
                System.out.println("猜大了");
            } else if (num == toGuess) {
                System.out.println("猜对了");
                break;
            } else {
                System.out.println("猜小了");
            }
        }
    }

    public static void main17(String[] args) {
        //题1
        //根据年龄，来打印出当前年龄的人是少年（小于等于18），青年（19-28），中年（29-55），老年（56以上）
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入年龄");
        int age = sc.nextInt();
        if (age <= 18) {
            System.out.println("该人是青年");
        } else if (age >= 19 && age <= 28) {
            System.out.println("该人是青年");
        } else if (age >= 29 && age <= 55) {
            System.out.println("该人是中年");
        } else if (age >= 56) {
            System.out.println("该人是老年");
        }
    }

    public static void main18(String[] args) {
        //题2
        //判断一个数字是否是素数
        //素数（也称质数）是大于 1 的自然数中，除了 1 和它本身以外，没有其他因数的数。
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入需要判断的数");
        int num = sc.nextInt();
        if (num == 1) {
            System.out.println(num + "不是素数");
        } else if (num < 1) {
            System.out.println("输入的数不合法");
        } else {
            int count = 0;
            for (int i = 1; i <= num; i++) {
                if (num % i == 0) {
                    count++;
                }
            }
            if (count > 2) {
                System.out.println(num + "不是素数");
            } else {
                System.out.println(num + "是素数");
            }
        }
    }

    public static void main19(String[] args) {
        //题3
        //打印 1-100之间所有的素数
        for (int num = 1; num <= 100; num++) {
            if (num == 1) {
                System.out.println(num + "不是素数");
            } else if (num < 1) {
                System.out.println("输入的数不合法");
            } else {
                int count = 0;
                for (int i = 1; i <= num; i++) {
                    if (num % i == 0) {
                        count++;
                    }
                }
                if (count > 2) {
                    System.out.println(num + "不是素数");
                } else {
                    System.out.println(num + "是素数");
                }
            }
        }
    }

    public static void main20(String[] args) {
        // 1-100的所有整数中出现多少个数字9
        int count = 0;
        for (int i = 1; i < 101; i++) {
            if (i == 9) {
                count++;
            } else if ((i - 9) % 10 == 0) {
                count++;
            }
        }
        System.out.println("9出现的次数为" + count);
    }

    public static void main21(String[] args) {
        //题6
        //求两个整数的最大公约数
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入两个整数");
        int num1 = sc.nextInt();
        int num2 = sc.nextInt();
//        System.out.println(num1);
//        System.out.println(num2);
        int max = 0;
        int max_num = 0;
        if (num1 >= num2) {
            max_num = num1;
        } else {
            max_num = num2;
        }
        for (int i = 1; i <= max_num; i++) {
            if (num1 % i == 0 && num2 % i == 0) {
                max = i;
            }
        }
        System.out.println("最大公约数是" + max);
    }

    public static void main22(String[] args) {
        //题7
        //求出0到999之间的水仙花数。
        //水仙花数是一个三位数，其各位数字的立方等于该数本身
        for (int i = 0; i < 999999; i++) {
            int count = 0;
            int tmp = i;
            while (tmp != 0) {
                count++;
                tmp = tmp / 10;
            }
            tmp = i;
            int sum = 0;
            while (tmp != 0) {
                // 如何取到个位 十位 百位
                sum += Math.pow(tmp % 10, count);
                tmp /= 10;
            }
            if (sum == i) {
                System.out.println(i);
            }
        }
    }

    public static void main23(String[] args) {
        //题8
        //写一个函数返回参数二进制中1的个数
        int n = 15;
        int count = 0;
        while (n != 0) {
            count++;
            n = n & (n - 1);
        }
        System.out.println(count);
    }

    public static void main(String[] args) {
        //题9
        //获取一个数 二进制序列中所有的偶数位和奇数位，分别输出二进制序列

    }
}
